﻿using System;

namespace CommonTypes.Server.Operations
{
    [Serializable]
    public class Operation
    {
        public static Operation createAddOperation( long logicalNumber, String clientId, String clientLocation )
        {
            return new AddOperation( logicalNumber, clientId, clientLocation );
        }

        public static Operation createRemoveOperation( long logicalNumber, String clientId )
        {
            return new RemoveOperation( logicalNumber, clientId );
        }

        public static Operation createTicketGenerationOperation( long logicalNumber, long ticketNumber )
        {
            return new TicketGeneration( logicalNumber, ticketNumber );
        }

        public Operation( long logicalNumber )
        {
            LogicalNumber = logicalNumber;
        }

        public long LogicalNumber
        {
            get;
            set;
        }
    }
}